home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
Texteditors
/
Write3
/
REXX
/
Renumber.wrx
< prev
next >
Wrap
Text File
|
1996-09-26
|
3KB
|
135 lines
/*
* REXX-Script für WRITE 3.592 © 1994 by Tim Teulings
*
* Dieses Script wird aus WRITE heraus gestartet.
* Es dient dazu lange Spalten von Zahlen umzunummerrieren.
* Man startet dieses Script mit dem Cursor auf der Zahl von der man aus
* umnummerieren möchte.
* WRITE nummeriert dann in 1er Schritten aufwärts, bis er keine Zahl mehr
* findet.
* Er beachtet dabei die aktuelle Formatierung.
*/
IF ~show('P',"WRITE")
THEN DO
say "Dieses Script ist zutzlos ohne WRITE !"
EXIT
END
ADDRESS WRITE
OPTIONS RESULTS
'VERSIONCHECK 3848 "Renumber.wrx"'
IF RC~=0 THEN DO
exit 10
END
'GETVAR "_CurrentID"'
ID = RESULT
IF ID=0 THEN DO
'MESSAGEOK "REXX-Script\n'Renumber.wrx' :\n\nSie müssen dieses Script\naus WRITE heraus starten !"'
EXIT
END
OPENPORT ID /* PrivatePort des aktuellen Fensters öffnen */
Port = RESULT
IF Port="" THEN DO /* 'OPENPORT' gibt "" zurück, wenn Port nicht */
/* geöffnet werden konnte */
LOCKWINDOW ID
END
ELSE DO
INTERPRET ADDRESS Port /* PrivatePort addressieren.Alle Komandos beziehen */
/* sich nun auf das Fenster mit diesem Port */
END
'GETVAR "_WordDef"' /* Wortdefinition 1 */
OldWordDef = RESULT
'SETVAR "_WordDef" 1'
'GETVAR "_CurrentWord"' /* Aktuelles Wort holen */
Word = RESULT
IF ~DATATYPE(Word,'Numeric') THEN DO
'MESSAGEOK "REXX-Script Renumber.wrx :\n\nDer Cursor muß auf\neiner Zahl stehen !"'
Quit()
END
SILENT /* Zwecks Geschwindigkeit in den Silent-Mode */
/* schalten */
'GETVAR "_xPos"' /* Cursorposition holen */
OldPos.x = RESULT
'GETVAR "_yPos"'
OldPos.y = RESULT
'GETVAR "_CurrentChar"' /* Aktuelles Zeichen holen */
Char = RESULT
DO WHILE DATATYPE(Char,'Numeric') /* Rechten Rand der Zahl suchen */
CURSORRIGHT 0
'GETVAR "_CurrentChar"'
Char = RESULT
END
CURSORLEFT 0
'GETVAR "_xPos"' /* Wieder aktuelle Cursorposition holen */
StartPos.x = RESULT
'GETVAR "_yPos"'
StartPos.y = RESULT
MaxLen = 0
Lines = 0
'GETVAR "_CurrentWord"'
Word = RESULT
DO WHILE DATATYPE(Word,'Numeric')
Lines = Lines + 1
Len = Length(Word)
IF Len>MaxLen THEN DO
MaxLen = Len
END
CURSORDOWN 0
'GETVAR "_CurrentWord"'
Word = RESULT
END
GOTO StartPos.x StartPos.y
'GETVAR "_CurrentWord"'
Count = RESULT + 1
DO r = 1 TO Lines-1
CURSORDOWN 0
GOTO StartPos.x-MaxLen+1 _yPos
DO q = 1 TO MaxLen
DELETE
END
ZahlLen = Length(Count)
GOTO StartPos.x-MaxLen+1 _yPos
DO q = 1 TO MaxLen-ZahlLen
'WRITETEXT " "'
END
WRITETEXT "(" || Count || ")"
Count = Count + 1
END
GOTO OldPos.x OldPos.y
Quit()
Quit:
'SETVAR "_WordDef"' OldWordDef /* Alten Wert setzen */
WINDOW 0 0 0 0 /* Silent-Mode ausschalten */
IF Port="" THEN DO
LOCKWINDOW 0
END
ELSE DO
CLOSEPORT ID
END
EXIT